import Vue from 'vue';
import Vuex from 'vuex';

Vue.use(Vuex);

const store = new Vuex.Store({
	state: {
		userName: uni.getStorageSync('userName') ?  uni.getStorageSync('userName') : "未登录用户",
	},
	
	// 更改状态
	mutations: {
		// 一般大写
		MLOGIN(state, userName){
			// 使用localStorage固化存储登录用户名，防止刷新后丢失数据，这里由于已经是字符串，就不需要再用JSON.stringify()
			uni.setStorageSync('userName',userName);
			
			state.userName = userName;
		},
		MLOGOUT(state){
			uni.clearStorage('userNmae');
			
			state.userName = "退出状态用户";
		}
	},
	
	// 异步更改状态
	actions: {
		// 一般小写
		login(context, userName){
			context.commit('MLOGIN',userName);
		},
		logout(context, userName){
			context.commit('MLOGOUT');
		}
	}
});

export default store